<?php

namespace App\Models;


class Dept extends BaseModel
{
    /**
     * 与模型关联的数据表。
     *
     * @var string
     */
    protected $table = 'dept';
    /**
     * 与表关联的主键
     *
     * @var string
     */
    protected $primaryKey = 'dept_id';
    /**
     * 可以被批量赋值的属性。
     *
     * @var array
     */
    protected $fillable = array(
        'dept_id',
        'parent_id',
        'ancestors',
        'dept_name',
        'order_num',
        'leader',
        'phone',
        'email',
        'del_flag',
        'status',
        'create_by',
        'update_by',
        'update_time',
        'remark',
        'role_id'
    );

    /**
     * 执行模型是否自动维护时间戳。
     *
     * @var bool
     */
    public $timestamps = false;

    /**
     * 查询数据需要过滤掉的属性。
     *
     * @var array
     */

    protected $hidden = array();

    //返回关键字段
    public function getTableField()
    {
        return $this->fillable;
    }

    /**
     * 建表语句
     */
    protected function buildTable($name = '')
    {
        $tablename = $this->table;
        if (!empty($name)) {
            $tablename = $name;
        }
        $table = "CREATE TABLE IF NOT EXISTS $tablename (
      `dept_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门id',
      `parent_id` bigint(20) DEFAULT '0' COMMENT '父部门id',
      `ancestors` varchar(50) DEFAULT '' COMMENT '祖级列表',
      `dept_name` varchar(30) DEFAULT '' COMMENT '部门名称',
      `order_num` int(4) DEFAULT '0' COMMENT '显示顺序',
      `leader` varchar(20) DEFAULT NULL COMMENT '负责人',
      `phone` varchar(11) DEFAULT NULL COMMENT '联系电话',
      `email` varchar(50) DEFAULT NULL COMMENT '邮箱',
      `status` char(1) DEFAULT '0' COMMENT '部门状态（0正常 1停用）',
      `del_flag` char(1) DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
      `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
      `create_time` datetime DEFAULT NULL COMMENT '创建时间',
      `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
      `update_time` datetime DEFAULT NULL COMMENT '更新时间',
      PRIMARY KEY (`dept_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='部门表';";
        return $table;
    }

    /**
     * 插入新的字段
     */
    protected function bulidField()
    {
        //例子
        $array = [
            'shop_id' => "int(11) DEFAULT '0' COMMENT '店铺id'",
            'role_id' => "varchar(255) DEFAULT '' COMMENT '权限id'",
        ];
        return $array;
    }
}
